package verwaltung;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity 
@NamedQueries({
	@NamedQuery(name="geraet", query="SELECT g FROM Geraet g WHERE g.Seriennummer = :snr"),
	@NamedQuery(name="allegeraete", query="SELECT g FROM Geraet g")})
public class Geraet implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id
	private String Seriennummer;
	@JoinColumn(name="STANDORT_NAME")
	private Standort st;
	private String Bezeichnung;
	private String Kommentar;
	@Temporal(TemporalType.DATE)
	@Column(name="DATE")
	private Date Datum;
	
	public Geraet(){
		
	}
	
	public Geraet(String seriennumer, Standort standort, String bezeichnung, String kommentar, Date d){
		setSeriennumer(seriennumer);
		setStandort(standort);
		setBezeichnung(bezeichnung);
		setKommentar(kommentar);
		setDatum(d);
	}
	
	public String getSeriennumer() {
		return Seriennummer;
	}
	public void setSeriennumer(String seriennumer) {
		Seriennummer = seriennumer;
	}
	public Standort getStandort() {
		return st;
	}
	public void setStandort(Standort standort) {
		st = standort;
	}
	public String getBezeichnung() {
		return Bezeichnung;
	}
	public void setBezeichnung(String bezeichnung) {
		Bezeichnung = bezeichnung;
	}
	public String getKommentar() {
		return Kommentar;
	}
	public void setKommentar(String kommentar) {
		Kommentar = kommentar;
	}
	
	public void setDatum(Date d){
		Datum = d;
	}
	
	public Date getDatum(){
		return Datum;
	}

	@Override
	public String toString() {
		return getSeriennumer();
	}

}